CxProlog - testes semanticos



BUFFER


buffer(NONSENSE) ::: false.


buffer(5) ::: false.


buffer_new(X), buffer(X) ::: true.


-----------------------------------


BUFFER_SET


buffer_new(X), buffer_set(X, 5, 5) ::: true.


buffer_new(X), buffer_set(X, 5, 5), buffer_set(X, 5, 6) ::: true.


buffer_new(X), buffer_set(X, 5, TERM) ::: true. // funcionalidade da versao futura


-----------------------------------


BUFFER_GET


buffer_new(X), buffer_set(X, 5, 5), buffer_get(X, 5, 5) ::: true.


buffer_new(X), buffer_get(X, 5, term) ::: false.



-----------------------------------


BUFFER_NEW


buffer_new(X) ::: true.



-----------------------------------


BUFFER_DELETE


buffer_new(X), buffer_delete(X) ::: true.


buffer_new(X), buffer_delete(X), buffer_clear(X) ::: throw(_).



-----------------------------------



BUFFER_SIZE



buffer_new(X), buffer_size(X, 0, 10) ::: true.


buffer_new(X), buffer_size(X, 5, 10) ::: false.


buffer_new(X), buffer_set(X, 2, 5) buffer_size(X, 2, 10) ::: true.



-----------------------------------